/***************************************************
> Copyright (C) 2023 ==KINGYI== All rights reserved.
> File Name: queue.h
> Author:li
> Mail:joseph2009@163.com 
> Created Time: 2023年09月14日 星期四 16时30分54秒
***************************************************/

#ifndef QUEUE_H_
#define QUEUE_H_

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

typedef void *(*CALLBACK)(void *);

struct task
{
	CALLBACK callback_function;
	void *arg;
};

struct task_queue
{
	struct task task;
	struct task_queue *next;
};


struct task_queue* create_queue(void);
void push(struct task_queue* que,struct task task);
struct task front(struct task_queue* que);
void pop(struct task_queue* que);
int isempty(struct task_queue* que);
int size(struct task_queue* que);


#endif
